//冒泡排序（从左开始，升序）
/*
public class Test {
    public static void main(String[] args) {
        int[] arr = {9,8,3,5,2};
        System.out.print("冒泡排序前：");
        printArray(arr);
        bubbleSort(arr);
        System.out.printf("冒泡排序后：");
        printArray(arr);
    }
    //定义打印数组元素的方法
    public static void printArray(int[] arr){
        for(int i = 0;i<arr.length;i++){
            System.out.printf(arr[i]+"");
        }
        System.out.printf("\n");
    }
    //定义对数组排序的方法
    public static void bubbleSort(int[] arr){
        for(int i = 0;i<arr.length - 1;i++){
            for(int j = 0;j<arr.length - i - 1;j++){
                if(arr[j]>arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
            System.out.printf("第"+(i+1)+"轮排序后：");
            printArray(arr);
        }
    }
}
*/

//冒泡排序（从左开始，降序）
/*
public class Test {
    public static void main(String[] args) {
        int[] arr = {9,4,3,5,6};
        System.out.print("冒泡排序前：");
        printArray(arr);
        bubbleSort(arr);
        System.out.printf("冒泡排序后：");
        printArray(arr);
    }
    //定义打印数组元素的方法
    public static void printArray(int[] arr){
        for(int i = 0;i<arr.length;i++){
            System.out.printf(arr[i]+"");
        }
        System.out.printf("\n");
    }
    //定义对数组排序的方法
    public static void bubbleSort(int[] arr){
        for(int i = 0;i<arr.length - 1;i++){
            for(int j = 0;j<arr.length - i - 1;j++){
                if(arr[j]<arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
            System.out.printf("第"+(i+1)+"轮排序后：");
            printArray(arr);
        }
    }
}
*/

//冒泡排序（从右开始，升序）
/*
public class Test {
    public static void main(String[] args) {
        int[] arr = {9,4,3,5,6};
        System.out.print("冒泡排序前：");
        printArray(arr);
        bubbleSort(arr);
        System.out.printf("冒泡排序后：");
        printArray(arr);
    }
    //定义打印数组元素的方法
    public static void printArray(int[] arr){
        for(int i = 0;i<arr.length;i++){
            System.out.printf(arr[i]+"");
        }
        System.out.printf("\n");
    }
    //定义对数组排序的方法
    public static void bubbleSort(int[] arr){
        for(int i = 0;i<arr.length - 1;i++){
            for(int j = arr.length - 1;j>0;j--){
                if(arr[j]<arr[j-1]){
                    int temp = arr[j];
                    arr[j] = arr[j-1];
                    arr[j-1] = temp;
                }
            }
            System.out.printf("第"+(i+1)+"轮排序后：");
            printArray(arr);
        }
    }
}
*/

//冒泡排序（从右开始，降序）
public class Test {
    public static void main(String[] args) {
        int[] arr = {9,4,3,5,6};
        System.out.print("冒泡排序前：");
        printArray(arr);
        bubbleSort(arr);
        System.out.printf("冒泡排序后：");
        printArray(arr);
    }
    //定义打印数组元素的方法
    public static void printArray(int[] arr){
        for(int i = 0;i<arr.length;i++){
            System.out.printf(arr[i]+"");
        }
        System.out.printf("\n");
    }
    //定义对数组排序的方法
    public static void bubbleSort(int[] arr){
        for(int i = 0;i<arr.length - 1;i++){
            for(int j = arr.length - 1;j>0;j--){
                if(arr[j]>arr[j-1]){
                    int temp = arr[j];
                    arr[j] = arr[j-1];
                    arr[j-1] = temp;
                }
            }
            System.out.printf("第"+(i+1)+"轮排序后：");
            printArray(arr);
        }
    }
}
